/*
 * @Description:
 * @Author: zheng yiliang
 * @Date: 2021-03-28 12:03:16
 * @LastEditTime: 2021-06-06 13:28:06
 * @LastEditors: zheng yiliang
 */
const mongoose = require('../core/mongodb')
const { Schema, model } = mongoose
const autoIncrement = require('mongoose-auto-increment-fix');

const menuSchema = new Schema({
  // menu_id: { type: Number, unique: true },
  path: String, // 如果是菜单，代表路由的地址；如果是按钮，代表接口的地址
  component: String, // 对应组件
  parent_id: { type: Number, default: 0 },
  name: { type: String },
  // type: { // 便于辨认是菜单还是按钮，默认菜单1，按钮2
  //   type: Number,
  //   default: 1
  // },
  menu_type: { type: String, default: 'M' },
  create_time: { type: Date, default: Date.now }, // 创建时间
  perms: String,
  meta: {
    title: String,
    icon: { type: String, default: '' },
    noCache: { type: Boolean, default: false },
    breadcrumb: { type: Boolean, default: true },
    activeMenu: { type: Boolean }
  },
  hidden: { type: Boolean, default: false },
  alwaysShow: { type: Boolean, default: false },
  redirect: { type: String } // , default: 'noRedirect'
}, {
  versionKey: false // 查询数据库时，忽略 _v 的字段返回
})
//{/* <el-radio label="M">目录</el-radio> 一级菜单
//<el-radio label="C">菜单</el-radio> 二级菜单
//<el-radio label="F">按钮</el-radio> */ //} // 按钮
// 自增 ID 插件配置
// 自增 ID 插件配置
menuSchema.plugin(autoIncrement.plugin, {
  model: 'Menu',
  field: 'menu_id',
  startAt: 1,
  incrementBy: 1,
});
const Menu = model('Menu', menuSchema);

// Menu.create({
//   path: '/sys', // 菜单路由
//   component: '@/layout', // 对应组件
//   name: 'SysManageLayout',
//   redirect: '/sys/userManage',
//   alwaysShow: true,
//   menu_type: 'M',
//   meta: {
//     title: '系统管理',
//     icon: 'user'
//   }
// })

// Menu.create({
//   path: '/article', // 菜单路由
//   component: '@/layout', // 对应组件
//   name: 'ArticleLayout',
//   redirect: '/article/list',
//   alwaysShow: true,
//   menu_type: 'M',
//   meta: {
//     title: '文章管理',
//     icon: 'documentation'
//   }
// })

// Menu.create({
//   path: '/category', // 菜单路由
//   component: '@/layout', // 对应组件
//   name: 'CategoryLayout',
//   redirect: '/category/list',
//   alwaysShow: true,
//   menu_type: 'M',
//   meta: { title: '分类管理', icon: 'component' }
// })

// Menu.create({
//   path: '/links', // 菜单路由
//   component: '@/layout', // 对应组件
//   name: 'linksLayout',
//   menu_type: 'M',
//   meta: { title: '友情链接', icon: 'component' }
// })
// Menu.create({
//   path: '/messages', // 菜单路由
//   component: '@/layout', // 对应组件
//   name: 'messageLayout',
//   menu_type: 'M',
//   meta: { title: '留言板', icon: 'component' }
// })

// Menu.create({
//   path: '/personalCenter', // 菜单路由
//   component: '@/layout', // 对应组件
//   name: 'PersonalCenterLayout',
//   menu_type: 'M',
//   meta: { title: '个人中心', icon: 'component' }
// })

// Menu.create({
//   path: 'userManage', // 菜单路由
//   component: '@/views/system/userManage', // 对应组件
//   name: 'UserManage',
//   parent_id: 1,
//   perms: 'sys:user:list',
//   menu_type: 'C',
//   meta: {
//     title: '用户管理',
//     icon: 'user'
//   }
// })

// Menu.create({
//   path: 'rolesManage', // 菜单路由
//   component: '@/views/system/rolesManage', // 对应组件
//   name: 'RolesManage',
//   parent_id: 1,
//   menu_type: 'C',
//   perms: 'sys:role:list',
//   meta: {
//     title: '角色管理',
//     icon: 'documentation'
//   }
// })
// Menu.create({
//   path: 'menuManage', // 菜单路由
//   component: '@/views/system/menuManage', // 对应组件
//   name: 'MenuManage',
//   parent_id: 1,
//   menu_type: 'C',
//   perms: 'sys:menu:list',
//   meta: {
//     title: '菜单管理',
//     icon: 'documentation'
//   }
// })

// Menu.create({
//   path: 'qqUsers', // 菜单路由
//   component: '@/views/system/qqUsers', // 对应组件
//   name: 'QQUsers',
//   parent_id: 1,
//   menu_type: 'C',
//   perms: 'sys:qquser:list',
//   meta: {
//     title: 'QQ用户',
//     icon: 'documentation'
//   }
// })

// Menu.create({
//   path: 'userLogs', // 菜单路由
//   component: '@/views/system/userLogs', // 对应组件
//   name: 'userLogs',
//   parent_id: 1,
//   menu_type: 'C',
//   perms: 'sys:userlogs:list',
//   meta: {
//     title: '用户日志',
//     icon: 'documentation'
//   }
// })

// Menu.create({
//   path: 'list', // 菜单路由
//   component: '@/views/articleManage/articleList', // 对应组件
//   name: 'ArticleList',
//   menu_type: 'C',
//   perms: 'article:doc:list',
//   parent_id: 2,
//   meta: {
//     title: '文章列表',
//     icon: 'list'
//   }
// })
// Menu.create({
//   path: 'create', // 菜单路由
//   component: '@/views/articleManage/createArticle', // 对应组件
//   name: 'CreateArticle',
//   perms: 'article:add:list',
//   parent_id: 2,
//   menu_type: 'C',
//   meta: {
//     title: '创建文章',
//     icon: 'edit'
//   }
// })


// Menu.create({
//   path: 'list', // 菜单路由
//   component: '@/views/category', // 对应组件
//   name: 'CategoryList',
//   perms: 'category:doc:list',
//   parent_id: 3,
//   menu_type: 'C',
//   meta: {
//     title: '分类列表',
//     icon: 'list'
//   }
// })

// Menu.create({
//   path: 'tagList', // 菜单路由
//   component: '@/views/category/tag', // 对应组件
//   name: 'CategoryTag',
//   parent_id: 3,
//   menu_type: 'C',
//   perms: 'category:tag:list',
//   meta: {
//     title: '标签列表',
//     icon: 'list'
//   }
// })

// Menu.create({
//   path: 'index', // 菜单路由
//   component: '@/views/links', // 对应组件
//   name: 'Links',
//   perms: 'links:center:list',
//   menu_type: 'C',
//   parent_id: 4,
//   meta: { title: '友情链接', icon: 'component' }
// })

// Menu.create({
//   path: 'index', // 菜单路由
//   component: '@/views/message', // 对应组件
//   name: 'Message',
//   perms: 'message:center:list',
//   menu_type: 'C',
//   parent_id: 5,
//   meta: { title: '留言板', icon: 'component' }
// })

// Menu.create({
//   path: 'index', // 菜单路由
//   component: '@/views/personalCenter', // 对应组件
//   name: 'PersonalCenter',
//   perms: 'pserson:center:list',
//   menu_type: 'C',
//   parent_id: 6,
//   meta: { title: '个人中心', icon: 'component' }
// })


// Menu.create({
//   path: 'edit', // 菜单路由
//   component: '@/views/articleManage/articleList/edit', // 对应组件
//   name: 'editArticle',
//   menu_type: 'C',
//   perms: 'article:doc:edit',
//   parent_id: 2,
//   hidden: true,
//   meta: {
//     title: '文章修改',
//     icon: 'edit'
//   }
// })





// Menu.create({
//   parent_id: 7,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '用户查询',
//   },
//   perms: 'sys:user:query'
// })

// Menu.create({
//   parent_id: 7,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '用户新增',
//   },
//   perms: 'sys:user:add'
// })

// Menu.create({
//   parent_id: 7,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '用户修改',
//   },
//   perms: 'sys:user:edit'
// })

// Menu.create({
//   parent_id: 7,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '用户删除',
//   },
//   perms: 'sys:user:delete'
// })

// Menu.create({
//   parent_id: 7,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '分配角色',
//   },
//   perms: 'sys:user:setRole'
// })

// Menu.create({
//   parent_id: 7,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '设置状态',
//   },
//   perms: 'sys:user:setStatus'
// })


// Menu.create({
//   parent_id: 8,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '角色查询',
//   },
//   perms: 'sys:role:query'
// })

// Menu.create({
//   parent_id: 8,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '角色新增',
//   },
//   perms: 'sys:role:add'
// })

// Menu.create({
//   parent_id: 8,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '角色修改',
//   },
//   perms: 'sys:role:edit'
// })

// Menu.create({
//   parent_id: 8,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '角色删除',
//   },
//   perms: 'sys:role:delete'
// })

// Menu.create({
//   parent_id: 8,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '分配权限',
//   },
//   perms: 'sys:role:setRight'
// })

// Menu.create({
//   parent_id: 8,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '取消权限',
//   },
//   perms: 'sys:role:removeRight'
// })


// Menu.create({
//   parent_id: 9,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '菜单查询',
//   },
//   perms: 'sys:menu:query'
// })
// Menu.create({
//   parent_id: 9,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '菜单新增',
//   },
//   perms: 'sys:menu:add'
// })

// Menu.create({
//   parent_id: 9,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '菜单删除',
//   },
//   perms: 'sys:menu:delete'
// })

// Menu.create({
//   parent_id: 9,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '菜单修改',
//   },
//   perms: 'sys:menu:edit'
// })


// Menu.create({
//   parent_id: 10,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '文章查询',
//   },
//   perms: 'article:doc:query'
// })


// Menu.create({
//   parent_id: 10,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '删除文章',
//   },
//   perms: 'article:doc:delete'
// })

// Menu.create({
//   parent_id: 10,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '设置文章',
//   },
//   perms: 'article:doc:setting'
// })

// Menu.create({
//   parent_id: 10,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '文章修改',
//   },
//   perms: 'article:doc:edit'
// })


// Menu.create({
//   parent_id: 11,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '发表文章',
//   },
//   perms: 'article:add:publish'
// })

// Menu.create({
//   parent_id: 11,
//   menu_type: 'F',
//   hidden: true,
//   meta: {
//     title: '存为草稿箱',
//   },
//   perms: 'article:add:drafts'
// })


// Menu.create({
//   parent_id: 12,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '分类新增',
//   },
//   perms: 'category:doc:add'
// })

// Menu.create({
//   parent_id: 12,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '分类删除',
//   },
//   perms: 'category:doc:delete'
// })

// Menu.create({
//   parent_id: 12,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '分类修改',
//   },
//   perms: 'category:doc:edit'
// })

// Menu.create({
//   parent_id: 12,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '分类查询',
//   },
//   perms: 'category:doc:query'
// })




// Menu.create({
//   parent_id: 13,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '标签新增',
//   },
//   perms: 'category:tag:add'
// })

// Menu.create({
//   parent_id: 13,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '标签删除',
//   },
//   perms: 'category:tag:delete'
// })

// Menu.create({
//   parent_id: 13,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '标签修改',
//   },
//   perms: 'category:tag:edit'
// })

// Menu.create({
//   parent_id: 13,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '标签查询',
//   },
//   perms: 'category:tag:query'
// })

// Menu.create({
//   parent_id: 14,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '友链列表',
//   },
//   perms: 'links:list:query'
// })

// Menu.create({
//   parent_id: 14,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '友链修改',
//   },
//   perms: 'links:list:edit'
// })

// Menu.create({
//   parent_id: 14,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '友链新增',
//   },
//   perms: 'links:list:add'
// })

// Menu.create({
//   parent_id: 14,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '友链新增',
//   },
//   perms: 'links:list:delete'
// })


// Menu.create({
//   parent_id: 15,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '留言列表',
//   },
//   perms: 'links:list:query'
// })

// Menu.create({
//   parent_id: 15,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '留言审核',
//   },
//   perms: 'links:list:examine'
// })

// Menu.create({
//   parent_id: 16,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '密码修改',
//   },
//   perms: 'pserson:center:editPwd'
// })
// Menu.create({
//   parent_id: 16,
//   hidden: true,
//   menu_type: 'F',
//   meta: {
//     title: '信息设置',
//   },
//   perms: 'pserson:center:setting'
// })



module.exports = Menu
